This invention relates to asynchronous information or data transactions, and may be used, for example, in connection with the accessing of web sites on the internet.
Web sites may be accessed from a fixed or mobile location and may be configured as Internets, Intranets, Extranets or a combination of these options. However, all such web sites must handle interact with a client. A typical interaction model is based on a synchronous transaction in which a client makes a request and a response is received within the same session. Such a session usually only lasts a short time after the request, the duration being defined by a predetermined timeout value.
The increased use of Internet type services has led to a need to handle client requests in which a single request to make a search for information or a service may not be satisfied within a single session or by a single information provider. These requests are typically based on a set of personalised criteria for an individual, for example, “Please find me the best air fare to Sydney and let me know your findings by next Tuesday”. This request could be formed and then sent to a set of potential suppliers of information. However, the nature of this query is such that the client does not require an immediate response and neither does the information supplier need to be able to provide the requested information instantly.
The information needed to answer the exemplary question above may be resolved using several techniques. Current techniques include search engines, specialised travel applications, human negotiation or a combination of these techniques. The results returned can then be assessed in the light of the original criteria prior to delivery to the client. How these results are assessed is not the subject of this application.
Another example of a request which may not be satisfied within a single session or by a single information provider is when there is a requirement for a request that includes monitoring for external information, for example, “let me know when the share price for a company reaches a certain price?” or “Tell me if you find a house in a specific area that meets my requirements”. These cases may have little if any defined time associated with the feedback.
The nature of these asynchronous requests is such that, although some results may be available quickly, the client does not need them until a specific time. The exact time at which the information is returned will vary but how and when it is delivered to the client is an issue that has to be addressed. This could, for example, include early delivery should an information provider wish to make a client aware of special offers etc.
A problem with asynchronous activities of this type is that of managing the request and subsequently delivering the response(s) to the client. Within a small system where the number of requests are low, this is unlikely to be an onerous task, as it could well be managed with the aid of a database system. However, when the volume of transfers and size of the system becomes large, the management of these transactions is no longer a trivial task and presents an onerous overhead.
It is an object of the present invention to provide apparatus and methods for handling asynchronous requests of this type.